Ball machine apparatus gamification

ABSTRACT

An automatic ball machine includes a frame, a ball launching system, and a gamification display. The ball launching system is coupled to the frame and rotatably moves to point in various directions to launch a ball to a player. The gamification display displays gamification information for the player.

CROSS-REFERENCE TO RELATED APPLICATION

The present application is a non-provisional application of U.S. provisional application No. 63/291,343 filed Dec. 17, 2021 and is related to U.S. patent application Ser. No. 17/093,321 filed Nov. 9, 2020, entitled “BALL MACHINE APPARATUS,” the entire disclosure of each of these applications being hereby incorporated by reference in its entirety.

BACKGROUND OF THE DISCLOSURE 1. Field of the Disclosure

The disclosure relates in general to a ball machine apparatus, and more particularly, to ball machine apparatus gamification.

2. Background Art

Ball machines, such as those used for projecting, for example, tennis balls at a tennis player or baseballs at a batter in a batter's box, are very helpful in practicing hitting tennis balls and hitting baseballs. Typically, these machines have speed control knobs that allow an operator to adjust various motors and actuators to “dial-in” a ball launch that the player wants to practice. This “dial-in” practice is time consuming and cumbersome.

Additionally, in many instances it is difficult to vary the type of projection of a ball and the placement on a predetermined, random or other controlled manner. Some devices allow for manual feed and adjustment. Others allow for a couple of different predetermined shots, or volleys. The formed is difficult because it requires multiple individuals and cannot be done alone. The latter has other issues such as predictability or very few options. Moreover, the latter lacks feedback to see the result of the output, or the like.

The disclosure herein is not limited to tennis ball volleys and the hitting of baseballs, but can be modified for any number of different types of balls for different types of sports, including, for example, and not limited to, soccer, football, softball, table tennis, badminton, among others.

SUMMARY OF THE DISCLOSURE

The disclosure is directed to an automatic ball machine including a frame, a ball launching system, and a gamification display. The ball launching system is coupled to the frame and rotatably moves to point in various directions to launch a ball to a player. The gamification display displays gamification information for the player.

In at least one configuration of the automatic ball machine, the automatic ball machine further comprises a hopper to store a plurality of the ball, the gamification display being coupled to the hopper.

In at least one configuration of the automatic ball machine, the ball launching system includes first, second, third spinner wheels, coupled to first, second, third spinner motors, respectively.

The disclosure is also directed to a system including an automatic ball machine and a gamification server. The automatic ball machine includes a frame, a ball launching system, and a gamification display. The ball launching system is coupled to the frame and rotatably moves to point in various directions to launch a ball to a player. The gamification display displays gamification information for the player. The gamification server is in communication with the automatic ball machine and includes a gamification analytics analyzer to perform analytics analysis on gamification data received from the automatic ball machine.

In at least one configuration of the system, the automatic ball machine further comprises a hopper to store a plurality of the ball, wherein the gamification display is coupled to the hopper.

In at least one configuration of the system, the ball launching system includes first, second, third spinner wheels, coupled to first, second, third spinner motors, respectively.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure will now be described with reference to the drawings wherein:

FIG. 1 illustrates a schematic view of an example ball machine gamification system, in accordance with at least one configuration disclosed herein;

FIG. 2 illustrates a schematic view of another example ball machine gamification system including two networked ball machines, in accordance with at least one configuration disclosed herein;

FIG. 3 illustrates a schematic view of the wireless device shown in FIG. 1 including a gamification application and the gamification server shown in FIG. 1 including a gamification analytics analyzer, in accordance with at least one configuration disclosed herein;

FIG. 4 illustrates a detailed view of an example ball machine including a gamification display, in accordance with at least one configuration disclosed herein;

FIG. 5 illustrates another view of the ball machine shown in FIG. 4 performing a countdown, in accordance with at least one configuration disclosed herein;

FIG. 6 illustrates another view of the ball machine shown in FIG. 4 further performing a countdown, in accordance with at least one configuration disclosed herein;

FIG. 7 illustrates another view of the ball machine shown in FIG. 4 having completed a countdown, in accordance with at least one configuration disclosed herein;

FIG. 8 illustrates a detailed view of the gamification display shown in FIG. 4 , in accordance with at least one configuration disclosed herein; and

FIG. 9 shows an example general-purpose computing device for use with the system shown in FIG. 1 , in accordance with at least one configuration disclosed herein.

DETAILED DESCRIPTION OF THE DISCLOSURE

While this disclosure is susceptible of configuration in many different forms, there is shown in the drawings and described herein in detail a specific configuration(s) with the understanding that the present disclosure is to be considered as an exemplification and is not intended to be limited to the configuration(s) illustrated.

It will be understood that like or analogous elements and/or components, referred to herein, may be identified throughout the drawings by like reference characters. In addition, it will be understood that the drawings are merely schematic representations of the invention, and some of the components may have been distorted from actual scale for purposes of pictorial clarity.

Referring now to the drawings and in particular to FIG. 1 , a system 100 is disclosed that provides for gamification with an apparatus, an automatic ball machine 150. In this example, the system 100 includes a player 115 that can utilize a wireless apparatus, such as a smart device 120 for gamification as disclosed herein. The smart device 120 can communication with both a gamification server 140 and the automatic ball machine 150, such as via the network 23900. described below. In at least one configuration, another system 200 (FIG. 2 ) that can include multiple ball machines, such as automatic ball machine 150 a and automatic ball machine 150 b that are networked together such that the ball machines 150 a, 150 b can coordinate which of the ball machines 150 a, 150 b most appropriately launches a ball, based on a location that the ball machines 150 a, 150 b are at any particular time on the tennis court 110, discussed in more detail below. The ball machines 150 a, 150 b can be networked via direct communications and/or via the network 23900. At least one of the ball machines 150 a, 150 b can return shots that are dynamically generated based on a last shot by the player 115. For example, if the player 115 hits an easy ball up the middle of the tennis court 110, a hard return would most likely be processed by at least one of the automatic ball machines 150 a, 150 b. Further, if the player 115 hits a great volley to the corner of the tennis court 110, the at least one of the ball machines 150 a, 150 b can respond with a 1 ob. The return by at least one of the ball machines 150 a, 150 b can be based on Artificial Intelligence (AI) mining of tennis matches, and determined to be a most likely response for a particular shot. Such AI mining can, in at least one configuration, be performed by the gamification server 140.

The smart device 120 can execute a gamification application 122 (FIG. 3 ) and the gamification server 140 can execute a gamification analytics analyzer 144 (FIG. 3 ), both the gamification application 122 and the gamification analytics analyzer 144 described in more detail below. Although the automatic ball machine 150 can be used with a variety of sports that utilize a ball, e.g., football, soccer, pickleball, volleyball, etc., the example disclosed herein illustrates the player 115 utilizing the automatic ball machine 150 for tennis gamification while playing tennis on a tennis court 110. But, one skilled in the art would understand that the system 100 is only an example, and not limited to only tennis. The smart device 120 can be any of a smart phone, a tablet computer, a smart watch, or any other smart device that can execute the gamification application 122.

The gamification application 122 can display for the player 115 statistics about the player 115, ranking of the player 115 against other players 115, goals that the player 115 would attempt to reach, instructions provided by the automatic ball machine 150 and how the player 115 performed in accordance with those instructions, etc. The smart device 120 can even incorporate a “coach” function, via the gamification application 122, to provide for human interaction with the player 115 to improve the instructions, scoring, feedback. Gamification information, such as instructions, scoring, feedback, countdown, etc. can be displayed for the player 115 on the gamification display 320.

The gamification server 140 can include a gamification database 142, although in at least one other configuration the gamification database 142 can be remote from the gamification server 140. The gamification server 140 can communicate with the smart device 120 and, in at least one configuration, the automatic ball machine 150. The gamification server 140 can store and retrieve information from the gamification database 142, such as player account information (e.g., player name, physical address, email address, credit card information, subscription status, etc.), instructions given to the player 115, and gamification data such as ball location placement, ball missed, ball hits, etc. The gamification server 140 can further include the gamification analytics analyzer 144 that retrieves the gamification data and performs analytics analysis on such gamification data to determine accuracy of ball placement, how well the player 115 has followed through on a particular instruction, among other accuracy determination(s). In at least one configuration, the gamification analytics analyzer 144 can further determine a score for the player 115 based on such analytics analysis, and every other player 115 that is stored in the gamification database 142. This score can be aggregated by the gamification analytics analyzer 144 across a set of shots and can arrive at a measurement of how well the player 115 performed in a particular drill. This performance can then be replicated across other ball machines 150 and other players 115 to create a competitive game where all inputs are substantially identical. The gamification analytics analyzer 144 can rank the players 115 such that such ranking can be transmitted to each of the players 115 for display on their smart device 120. The players 115 can then review their ranking as compared to other players 115, creating competition between players 115 to raise their ranking.

The gamification automatic ball machine 150 can further include at least one display, such as gamification display 320. The gamification display 320 can be a Light Emitting Diode (LED) display, a Liquid Crystal Display (LCD), or any other type of display. In at least one configuration as shown, the gamification display 320 can be a 12″×12″ LED display, as shown, although other configurations are possible. In at least one alternative configuration, the gamification display 320 can be an LCD display/TV mounted onto a tennis court 110 wall, a user-worn device, such as an Apple watch, and can include visual, audio and mechanical (vibration) prompts, a display on a tablet or the smart device 120, purpose built visual indicators, such as electronically controlled left and right arrows coupled to the gamification automatic ball machine 150, or tennis court 110.

The gamification display 320 can be used to display a countdown for the player 115, such as a countdown prior to a ball being launch to the player 115. FIG. 3 shows the gamification display 320 showing number “3” for the player 115, FIG. 5 shows the gamification display 320 showing number “2” for the player 115, FIG. 6 shows the gamification display 320 showing number “1”, and FIG. 7 shows the gamification display 320 illuminating an entirety of the gamification display 320 to convey to the player 115 that the countdown has ended and the gamification automatic ball machine 150 is launching a ball to the player 115. As shown between FIGS. 5 and 6 , a ball launching system 310 (FIG. 4 ), discussed in more detail below, can rotatably move from one side of the gamification automatic ball machine 150 to another side of the gamification automatic ball machine 150 to point in various directions to prepare for such a launching of the ball to the player 115.

This countdown by the gamification display 320 can be used to give “directions” or instructions to the player 115, e.g., where to hit the ball and what type of shot, such as back corner, 1 ob, etc., and/or signal to the player 115 what type of ball launch is being performed by the ball launching system 310, e.g., 1 ob, passing shot, dropshot, cross-tennis court 110 shot, down-the-line shot, etc. This direction can be used by the gamification automatic ball machine 150 to simulate game situations where the player 115 would typically evaluate what the opponent is doing and make a shot type and shot placement decisions based on what the player 115 equates as a best shot. The gamification display 320 can display to the player 115 an instruction just prior to a ball being launched by the ball launching system 310. The gamification automatic ball machine 150 can then capture post-launch ball placement information related to that instruction, and send such instruction and post-launch ball placement information to the gamification server 140. The gamification automatic ball machine 150 can visually provide information to the player 115 via the gamification display 320, and in at least one configuration audibly via a speaker (not shown), such as an indication how hard a ball is going to be launched to the player 115. The instruction to the player 115 can include such an instruction as to where to return the ball, including but not limited to, front, back, left and right, a speed to return the ball, a type of return, i.e., 1 ob vs direct shot, etc. The gamification display 320 can also be involved in a flow of gameplay, such as signaling to the player 115 when to get “ready”, when to “serve”, etc., in addition to instruction on how to respond to an incoming shot. Typically, when playing a tennis match the player 115 will watch other players 115 and adapt their play accordingly. This adaptation is an important part of training which the gamification display 320 recreates.

Describe Ball Machine

Referring now to the drawings and in particular to FIGS. 4-8 that show the automatic ball machine 150 in more detail. The automatic ball machine 150 includes a frame 350 onto which various components are coupled, such as a controller (not shown), an imaging system that can include at least one environmental sensor to detect an environment around the automatic ball machine 150, such as a camera 362 disposed on a front of the automatic ball machine 150 to capture images in a direction in which balls 101 are launched, the ball launching system 310 to launch the balls 101, in at least one configuration a hopper 330 to store a quantity of the balls 101 before launch, and a mobility system to move the automatic ball machine 150, described below. As shown more clearly in FIG. 8 , the gamification display 320 can in at least one configuration be coupled to the hopper 330. The frame 350 can include a first side member 352 and a second side member 354 onto which the ball launching system 310 can moved vertically up and down. The automatic ball machine 150 is shown in a lowered position in FIGS. 4-7 . However, the automatic ball machine 150 can be positioned anywhere in-between the lowered position and the raised position depending upon the trajectory needed to launch the balls 101 by the ball launching system 310. The automatic ball machine 150 can further include a ball feeder 337 to control, via the controller, feeding of balls 101 from the hopper 330 to the ball launching system 310 via a flexible tube 332.

In at least one configuration, the imaging system includes multiple cameras to improve the data that is being received by the controller. For example, the automatic ball machine 150 can include a first camera 362 facing in a direction that the balls 101 are being launch, and second 363, third 364, and fourth camera (not shown) to detect objects to the left, right, rear of the automatic ball machine 150, respectively. The controller can use these additional cameras to generate extra information that assists the controller to determine an internal physical model of a space and/or performing recognition tasks on images captured by the cameras, as discussed below. These multiple cameras can increase an effective field-of-view of the of the imaging system. In at least one configuration, the imaging system includes stereo cameras positioned a few inches apart (like eyes) to detect depth. In still another configuration, the camera 362 is a Time-Of-Flight (TOF) camera to detect a depth of field. In at least one configuration, such as for sports like Tennis and Paddle, additional cameras can be disposed about a tennis court 110, as well as the automatic ball machine 150 to capture data from various viewpoints during actual gameplay. In at least one configuration, the automatic ball machine 150 can further include secondary sensor(s), such as radar (e.g. LiDAR) or similar, to detect objects outside a field-of-view of the imaging system, and/or to provide backup data for the controller.

The ball launching system 310 can include a plurality of spinner wheels coupled to a plurality of motors, to launch the balls 101. For example, the ball launching system 310 can include first, second, third spinner wheels 312, 314, 316, coupled to first, second, third spinner motors 313, 315, 317, respectively. In the configuration shown, the spinner wheel 312/spinner motor 313 is shown as being disposed substantially at approximately (+−5 degrees) the 12 o'clock position, with the spinner wheel 316, spinner motor 317 being disposed at approximately (+−5 degrees) the 4 o'clock position, and the spinner wheel 314, spinner motor 315 being disposed at approximately (+−5 degrees) the 8 o'clock position.

In at least one configuration, the automatic ball machine 150 further includes another type of environmental sensor, such as a LiDAR sensor (not shown) to detect objects in a direction that balls 101 are being launched, although additional LiDAR sensors are possible to detect objects in the other three directions around the automatic ball machine 150. The automatic ball machine 150 can use can use the LiDAR sensor to monitor an area in front of, and in at least one configuration around the automatic ball machine 150 to ensure no objects, such as no people or other objects will be struck by the balls 101 being launched by the automatic ball machine 150, or harmed by any automated mechanical movement of the automatic ball machine 150. The automatic ball machine 150 establishes a keep-out region, that if violated, will result in the automatic ball machine 150 stopping launching and/or mechanical movement, and in at least one configuration issuing a warning to a player or player 115. The automatic ball machine 150 can adjust a distance the keep-out region extends from the automatic ball machine 150, such as based on a tennis court 110 location of the automatic ball machine 150. The coverage area around the automatic ball machine 150 is dependent on the number of sensors used. In the simplest configuration, a single sensor, such as the LiDAR sensor, can be faced forward along a path of the balls 101, while in other configurations a full 360-degree coverage around the automatic ball machine 150 can be implemented via additional LiDAR sensors.

The controller can use the imaging system to detect objects in a field of vision of the imaging system to determine where in a space (e.g., tennis court 110, field . . . ) the automatic ball machine 150 is located. With the controller having the ability to know its location relative to this space allows the controller to individually adjust a speed of the spinner wheels 312, 314, 316 to place the balls 101 in an acceptable location for the recipient player 115. For example, the player 115 can wheel the automatic ball machine 150 onto a tennis court 110 and use a control panel 112 (e.g., touchscreen) and/or a remote wireless device 151 via a network 1900 (FIG. 10 ), such as a smartphone, to indicate where the player 115 wants a ball 101 placed. The controller makes the appropriate calculations, by solving a ball flight equation, to determine a speed and flight path needed to launch the ball 101 to place the ball 101 at the acceptable location for the recipient player 115.

For example, the automatic ball machine 150 can allow the player 115 to practice a particular serve type and location on a tennis court 110. In this example, the player 115 can enter their serve preference and location on the tennis court 110 into the controller. Then, the camera 362, or cameras 362-364 and rear camera, capture(s) an image(s) of the tennis court 110 from the perspective of the automatic ball machine 150, and the controller can execute software that calculations a location (e.g. x, y, z, yaw, pan, tilt) of the automatic ball machine 150 based on the image(s) captured by the camera 362, or cameras 362-364 and rear camera. The controller can further execute software to calculate serving parameters (e.g., ball speed, ball spin, tilt, pan) based on the serve preference entered by the player 115 and the computed location of the automatic ball machine 150, and adjust the ball launch system 310 and a height actuator (not shown) to accurately launch the ball 101 to the desired location.

The controller can further use the imaging system to dynamically adjust a speed of the spinner wheels 312, 314, 316, such as adjustments of based on previous launched ball(s) 101. Some typical ball machines have motorized wheels that allow these ball machines to move about the tennis court 110. A common problem with this type of ball machine is that the wheels attached to the motors will wear over time and, as a result, flight of the balls will change over time. For example, with a new ball machine, a spinner motor coupled to a spinner wheel running at half speed may launch the ball 60 ft. But, with worn spinner wheels and the spinner motor running at half speed, the ball might only be launched 56 ft because of a change of trajectory. Such changes in trajectory can also be caused by wear in frame components, wear in bearings of the spinner wheels and/or spinner motors, and/or wear in any other components of the ball machine. The controller can further use the imaging system to determine the location of the ball 101 after being launched and determine if the ball 101 does not end up at the desired location, that is determine a location error. The controller can dynamically adjust or calibrate a speed of the spinner wheels 312, 314, 316 to compensate for this location error such that a next ball(s) 101 will be launched to the desired location. This process can be performed continuously, such that the controller is continuously determining if location error exists for a ball launch, and continuously compensating for this location error.

The controller can further use the imaging system for safety. With the automatic ball machine 150 launching the ball 101 in excess of 100 mph, someone could get seriously injured if they were hit unexpectedly by such a launched ball 101. The controller can use a field of vision of the imaging system to detect if the ball's 101 flight is obstructed by an object, such as a person walking in front of the automatic ball machine 150. The controller can withhold launching of the ball 101 as a safety measure to avoid hitting the object. Thus, by utilizing a field of vision of the imaging system, if the controller detects anyone (or anything) that is unexpected, the controller can withhold/avoid throwing the ball 101 as a safety measure. For example, imagine someone walking across a baseball field and unknowingly walk into the flight path of a pitch. The automatic ball machine 150 can dynamically stop the first, second, third spinner wheels 312, 314, 316 to prevent the ball from being launched. For example, the automatic ball machine 150 will not throw a 100-mph fastball at a kid on a little league field who walks in front of the automatic ball machine 150, or in a batting cage while players 115 are switching out.

The controller can further use the imaging system to adapt launching based on a particular player 115. For example, the automatic ball machine 150 can make a responsive shot that would be representative of an opponent, for the person using it. Typically, all actions start with ball machines launching a ball. If a player 115 wants to practice hitting a follow-up shot to a tennis serve, it is impossible with typical ball machines. The automatic ball machine 150 can be placed where a typical service returner would stand. When the player 115 serves, the controller, via the imaging system, can identify a ball 101 flight and speed of the serve and make a representative return shot. In at least one configuration, the automatic ball machine 150 further includes a height actuator to change a height of the ball launching system 310, which results in a more realistic release point for the ball 101 thereby changing the ball's 101 trajectory. The representative return shot includes timing the return ball 101 so it coincides, time wise, with a return, the controller adjusting, via the height actuator, a height of the ball launching system 310 so an ejection point is at an appropriate height of where a returner would hit it, and adjusting a speed at which the ball launching system 310 launches a return shot that would be representative of one that a returner could hit. For example, a slow, low serve typically cannot be driven back at the player 115, the return pace being limited. But a hard hit serve, with a high bounce, can be returned at a much faster rate. The automatic ball machine 150 can make adjusts based on these types of serve coming at it.

The controller can further use the imaging system to detect a visual indication in a field of sight of the imaging system to trigger the ball 101 being thrown. The controller can detect and understand basic player 115 positioning and determine when the player 115 is ready to receive the ball 101. The controller can then trigger the ball launching system 310 to launch the ball. Typical ball machines send balls either by a coach directly feeding them into the ball machine or based on a timer (e.g., one ball every 10 seconds). For example, the automatic ball machine 150 can wait until a batter is detected as standing in a batter's box and assuming a position indicating that the batter is ready to hit. Once the automatic ball machine 150 detects the player 115 in a crouched position with a bat in a ready position, the automatic ball machine 150 can launch or “pitch” the ball 101. In another example, for tennis the automatic ball machine 150 will not serve a ball 101 until the automatic ball machine 150 detects the player 115 in a service return position. Alternatively, the visual indicator that the automatic ball machine 150 detects to trigger a ball 101 launch does not have to be sport specific, it can also be customized, for example the player could tap their head to trigger launch of a ball 101.

The controller can further use the imaging system to detect a location of the player 115 receiving the ball 101. This allows the automatic ball machine 150 to dynamically place the ball 101 relative to the player 115 to practice different shots, regardless of where they are starting from. Typical ball machines just repeat the same shot. If the player 115 desires to practice a wide backhand 4′ away, the player 115 practicing can “cheat” and when they reset, they drift closer to where the ball flight will be. The automatic ball machine 150 can consistently place the ball 101 4′ wide of the player 115, regardless of where the player 115 is standing. Thus, the player 115 drifting in their setup will have a benefit of being launched the ball 101 that is 4′ away regardless of where they drift to, leading to be a better, more consistent, practice experience.

The controller can further use the imaging system to track return flight of the ball 101 from the player 115 and provide ball 101 flight analytics on a practice session. Typical practice sessions using a typical ball machine do not yield performance data on performance of the player 115. The player 115 cannot measure their performance from hitting balls launched by the typical ball machine. Using the above scenario, the player 115 practicing a backhand 4′ away, the player 115 can receive a report from the automatic ball machine 150 after their practice session that details their performance. For example, the automatic ball machine 150 can detail how and how many balls 101 are returned, average speed of the returned balls 101, where did the return balls 101 go, an any another other analytic information from their practice session that is beneficial to the player 115.

The controller can further use the imaging system to learn aspects of the games they are helping to train. This can include a starting position of the player(s) 102, a size and layout of a tennis court 110, scenarios for common responsive shots, etc. For example, if a soft serve is low, the tennis trainer would know the possible returns and provide one accordingly, with only a certain set of shots that are possible. In another example, if the player 115 serves and rushes the net, the automatic ball machine 150 can 1 ob the ball 101 over the player's 102 head instead of driving it past them.

In at least one configuration, the controller can include a regenerative charging circuit (not shown). The controller performs dynamic braking, via the regenerative charging circuit, of the spinner wheels 312, 314, 316 to rapidly change their speeds to exact RPMs. Typical ball machines will coast when a user changes its dial settings, e.g., if the typical ball machine goes from a speed of 100% to 50% it takes a very long time for the motor to “settle”. In the dynamic braking process, excess kinetic energy is captured/harvested and stored in a battery (not shown) via the regenerative charging circuit. This dynamic braking process allows the controller to rapidly change the speed of the first, second, third spinner motors 313, 315, 317 to set exact speeds to hit desired ball 101 flight paths, without consuming excess electrical energy, as energy consumption is important during operation of the battery. In at least one configuration, the automatic ball machine 150 can further communicate with a Bluetooth® Low Energy (BLE) switch that is coupled to an end of a racquet or bat (e.g., the BLE switch can be used to record swing trajectory). This BLE switch can be used to trigger the regenerative charging circuit to minimize energy consumption of the automatic ball machine 150.

The automatic ball machine 150 can further include an orientation sensor(s) (not shown) to determine an orientation of the ball 101 as it is being fed into the ball launching system 310. The automatic ball machine 150 can even further include an orientation adjuster (not shown), such as at least one wheel/motor combination, to rotate the ball 101 accordingly so that the automatic ball machine 150 can use consistent orientation on every ball 101 being fed into the ball launching system 310. Typical machines have random feeders or a person has to manually feed the ball at a specific orientation to get a desired output. For example, certain baseball flight paths perform differently based on the orientation of the seams. With random ball feed, output is random. With the automatic ball machine 150 orienting the ball 101 in a consistent manner, this results in a more consistent flight path of the ball 101.

In at least one configuration, the automatic ball machine 150 further includes a microphone (not shown) that allows the automatic ball machine 150 to be controlled by verbal commands. The controller can receive sound data from the microphone and convert that sound data into the verbal commands. For example, when the player 115 is getting a lesson, the automatic ball machine 150 can be easily started and stopped to allow the player 115 to get instruction(s). Typically, this can be done with a phone app, but using a phone app is inconvenient in that the phone must be carried in the player's 102 pocket while training. The automatic ball machine 150 makes this process more convenient, for example the player 115 could say “Volley Stop” or “Volley Start”. In at least one configuration, the automatic ball machine 150 can be “named” by the player 115, such that a plurality of automatic ball machines 150 can differentiated when players give commands. For example, the automatic ball machines 150 could be named after actual tennis players, such as Williams, Sampras, Djokovic, or any other actual tennis player. In at least one configuration, the automatic ball machine 150 can establish a data connection between a player device (e.g., phone, headset, etc.) to improve accuracy of perceived commands given to the automatic ball machine 150 from the player device. This would prevent triggering another machine ball 100 on a next tennis court 110.

In at least one configuration, the automatic ball machine 150 can communicate with another automatic ball machine 150. For example, the automatic ball machines 150 can be placed to get a more realistic training experience. The automatic ball machines 150 communicate with one another and determine which automatic ball machine 150 that would be the most realistic automatic ball machine 150 to respond. The automatic ball machines 150 coordinating with each other to determine which specific automatic ball machine 150 will respond to a particular ball 101 being hit toward the automatic ball machines 150. Typically, a single trainer is limited in their placement on the tennis court 110. For example, if a ball 101 is hit wide, but the automatic ball machine 150 is located in a middle of the tennis court 110, the return will be from the middle of the tennis court 110. Thus, several automatic ball machines 150 can be placed on the tennis court 110 (e.g., three across the baseline in tennis) and when the player 115 hits a wide shot, the automatic ball machine 150 closest will be the one to return a ball 101. This would allow the player 115 to play a virtual match against a series of automatic ball machines 150, and have the play be realistic.

In at least one configuration, the automatic ball machine 150 can also include the mobility system to move the automatic ball machine 150 during use, such as for more realistic play. The mobility system 175 can include wheel/motor combinations, such as those shown. In the configuration shown, four such wheel/motor combinations 342, 344 are coupled to the frame 350, with other configurations using more or less such wheel/motor combinations for mobility of the automatic ball machine 150. The automatic ball machine 150 can move about a tennis court 110 to position itself for a more realistic return shot. Since the imaging system allows the automatic ball machine 150 to know its location within its space, the automatic ball machine 150 can move within that space and provide shots from different angles. Typical automatic ball machines 150 are static in their placement. If the player 115 wants to practice a specific shot in tennis, such as a deep baseline forehand, the player 115 much move the typical ball machine accordingly. The player 115 would then hit a few balls, then go move the typical ball machine, recalibrate, hit a few more, then go move the typical ball machine to a new location, recalibrate, etc. The automatic ball machine 150 allows the player 115 to identify a shot placement they desire to hit, and the automatic ball machine 150 moves on the tennis court 110 to provide different angles and speeds that would be representative of those types of shots. For example, the automatic ball machine 150 could start at the baseline, and move to the ad box to give the player 115 practice with different angles and speeds to practice their backhand.

With reference to FIG. 9 , an exemplary general-purpose computing device is illustrated in the form of the exemplary general-purpose computing device 23000. The general-purpose computing device 23000 may be of the type utilized for any of the automatic ball machine 150, the smart device 120, the gamification server 140, devices within the network 23900, and any other devices that these devices can communicate with (not shown). As such, it will be described with the understanding that variations can be made thereto. The exemplary general-purpose computing device 23000 can include, but is not limited to, one or more central processing units (CPUs) 23200, a system memory 23300, such as including a Read Only Memory (ROM) 23310 to store a Basic Input/Output System (BIOS) 23330 and a Random Access Memory (RAM) 1320, and a system bus 23210 that couples various system components including the system memory to the processing unit 23200. The system bus 23210 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. Depending on the specific physical implementation, one or more of the CPUs 23200, the system memory 23300 and other components of the general-purpose computing device 23000 can be physically co-located, such as on a single chip. In such a case, some or all of the system bus 23210 can be nothing more than communicational pathways within a single chip structure and its illustration in FIG. 9 can be nothing more than notational convenience for the purpose of illustration.

The general-purpose computing device 23000 also typically includes computer readable media, which can include any available media that can be accessed by computing device 23000. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the general-purpose computing device 23000. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media.

When using communication media, the general-purpose computing device 23000 may operate in a networked environment via logical connections to one or more remote computers. The logical connection depicted in FIG. 9 is a general network connection 23710 to the network 23900, which can be a local area network (LAN), a wide area network (WAN) such as the Internet, or other networks. The computing device 23000 is connected to the general network connection 23710 through a network interface or adapter 23700 that is, in turn, connected to the system bus 23210. In a networked environment, program modules depicted relative to the general-purpose computing device 23000, or portions or peripherals thereof, may be stored in the memory of one or more other computing devices that are communicatively coupled to the general-purpose computing device 23000 through the general network connection 23710. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between computing devices may be used.

The general-purpose computing device 23000 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only, FIG. 9 illustrates a hard disk drive 23410 that reads from or writes to non-removable, nonvolatile media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used with the exemplary computing device include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. The hard disk drive 23410 is typically connected to the system bus 23210 through a non-removable memory interface such as interface 23400.

The drives and their associated computer storage media discussed above and illustrated in FIG. 9 , provide storage of computer readable instructions, data structures, program modules and other data for the general-purpose computing device 23000. In FIG. 9 , for example, hard disk drive 23410 is illustrated as storing operating system 23440, other program modules 23450, and program data 23460. Note that these components can either be the same as or different from operating system 23440, other program modules 23450 and program data 23460, stored in RAM 1320. Operating system 23440, other program modules 23450 and program data 23460 are given different numbers here to illustrate that, at a minimum, they are different copies.

With reference to FIGS. 1-21 , again, the foregoing description applies to any of the covers 100, 200, 600, 1000, 23200, 23300, 23400 described above and the wireless device xxx (FIG. 22 ), as well as to any other computing devices in communication with these devices via the network 23900. The network interface 23710 facilitates outside communication in the form of voice and/or data. For example, the communication module may include a connection to a Plain Old Telephone Service (POTS) line, or a Voice-over-Internet Protocol (VOIP) line for voice communication. In addition, the network interface 23710 may be configured to couple into an existing network, through wireless protocols (Bluetooth, 802.11a, ac, b, g, n, or the like) or through wired (Ethernet, or the like) connections, or through other more generic network connections. In still other configurations, a cellular link can be provided for both voice and data (i.e., GSM, CDMA or other, utilizing 2G, 3G, and/or 4G data structures and the like). The network interface 23710 is not limited to any particular protocol or type of communication. It is, however, preferred that the network interface 23710 be configured to transmit data bi-directionally, through at least one mode of communication. The more robust the structure of communication, the more manners in which to avoid a failure or a sabotage with respect to communication, such as to collect healthcare information in a timely manner.

The programming modules 23450 comprise a user interface which can configure the healthcare information collection system 10. In many instances, the programming modules 23450 comprises a keypad with a display that is connected through a wired connection with the processing unit 23200. Of course, with the different communication protocols associated with the network interface 23700, the network interface 23700 may comprise a wireless device that communicates with the network 23900 through a wireless communication protocol (i.e., Bluetooth, RF, WIFI, etc.). In other configurations, the programming modules 23450 may comprise a virtual programming module in the form of software that is on, for example, a smartphone, in communication with the network interface 23700. In still other configurations, such a virtual programming module may be located in the cloud (or web based), with access thereto through any number of different computing devices. Advantageously, with such a configuration, a user may be able to communicate with the healthcare information collection system 10 remotely, with the ability to change functionality.

The foregoing description merely explains and illustrates the disclosure and the disclosure is not limited thereto except insofar as the appended claims are so limited, as those skilled in the art who have the disclosure before them will be able to make modifications without departing from the scope of the disclosure. 

What is claimed is:
 1. An automatic ball machine comprising: a frame; a ball launching system, coupled to the frame, to rotatably move to point in various directions to launch a ball to a player; and a gamification display to display gamification information for the player.
 2. The automatic ball machine according to claim 1, further comprising a hopper to store a plurality of the ball, wherein the gamification display is coupled to the hopper.
 3. The automatic ball machine according to claim 1, wherein the ball launching system includes first, second, third spinner wheels, coupled to first, second, third spinner motors, respectively.
 4. A system comprising: an automatic ball machine including: a frame; a ball launching system, coupled to the frame, to rotatably move to point in various directions to launch a ball to a player; and a gamification display to display gamification information for the player; a smart device to execute a gamification application; a gamification server, in communication with the automatic ball machine, including a gamification analytics analyzer to perform analytics analysis on gamification data received from the automatic ball machine.
 5. The system according to claim 4, wherein the automatic ball machine further comprises a hopper to store a plurality of the ball, wherein the gamification display is coupled to the hopper.
 6. The system according to claim 4, wherein the ball launching system includes first, second, third spinner wheels, coupled to first, second, third spinner motors, respectively. 